home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr49 / 215_01.zip / BBSC.DOC < prev    next >
Text File  |  1980-01-01  |  5KB  |  121 lines

  1.  
  2.  
  3. This file ==>bbsc.doc<==        July 4, 1983 (Happy Birthday)
  4.  
  5.  
  6. First off, the bbsc files are for a Bulletin Board System written in
  7. BDS "C".  If that's enough for you to know, you will need the following
  8. files.  If that's not enough, then read on past the following list.
  9.  
  10. Source files used by this system:
  11.  
  12.     bbsc.c        Main driver
  13.     bbscport.c    Modem port drivers/routines
  14.     bbsclock.c    Clock routines (take it even if you don't have
  15.               a clock, because you will have to fix the 
  16.               functions to at least return skeleton date/time).
  17.     bbscfile.c    File i/o for the messages, users, etc. files.
  18.     bbscmisc.c    Miscellenous functions used across the system.
  19.  
  20. The following is a list of data files used by the system:
  21.  
  22. *    users.bbs    - maintains names, passwords, etc., of each caller
  23. *    messages.bbs    - holds the messages left on the BBS
  24. *    header.bbs    - 1 record header file used with the messages
  25. +    welcome.bbs    - the signon/welcome file
  26. +    bulletin.bbs    - bulletins to be shown on signon
  27. +    help.bbs    - short help file to explain the commands available
  28.  
  29.     * be sure to get these as they are skeletons (real short) of
  30.       what these file want to look like.
  31.     + these are standard CP/M files seperated by cr,lf and are
  32.       used as the names imply. (They are real short too).
  33. ------------------
  34.  
  35. Rational:
  36.  
  37.     The coding standards found within the BBSC source differs from
  38. the accepted standards set by K&R (sacrilege!).  But hold on, they are
  39. not that much different.  Take a look at one of the source files and see what
  40. I mean.  I truely feel that this method is EASIER to read, and most 
  41. importantly, easier to maintain. (Obviously K&R never had to fix someone
  42. else's code).  Another reason is that it is easier for someone who has
  43. just started to use "C" to understand!
  44.  
  45. -------------------
  46. Comments:
  47.  
  48.     The writing of this system was my way of learning "C".  I have
  49. used COBOL, BASIC, FORTRAN, and any number of assemblers.  I was getting
  50. tired of CBASIC (didn't have/couldn't afford the MBASIC compiler), and
  51. really tired of trying to remember the opcodes of 8080 and Z80 (the 
  52. latter opcodes I feel make more sense).  Lo and behold, there was all
  53. this noise and commotion about "C" (you know, the one that came after "B").
  54. Well, after doing some research, and on recommendation from a couple 
  55. proclaimed "C" programmers I went and spent the bucks for the BDS "C"
  56. compiler.
  57.     One of the first things you may notice if you are a veteran
  58. "C" programmer is that I didn't always use the shortest means of
  59. coding a particular routine.  A thousand pardons.  "C" is a verrrry (sic)
  60. powerful language, BUT, the syntax can make it damn near unreadable
  61. if you really try hard enough (and sometimes you don't have to try real hard).
  62. I tried to avoid these very short, very compact coding techniques because 
  63. I wasn't interested in the esoteric use of "C", but was trying to 
  64. code source that most anyone could read.
  65.  
  66. -------------------
  67.  
  68. Environment:
  69.  
  70.   This BBS was written to run on this system:
  71.  
  72.     - CP/M 2.2
  73.     - Compupro S-100 box
  74.     - Compupro Z80
  75.     - Compupro 64K memory
  76.     - Compupro Interfacer I  I/o board (2 serial)
  77.     - Compupro Interfacer IV I/O board (3 serial, 1 parallel)
  78.     - Tarbell DD/DS disk controller
  79.     - Qume 8" data track 8 drives (2)
  80.     - Hayes Smartmodem  (hooked to Interfacer IV)
  81.     - Hayes Chronograph (hooked to Interfacer IV)
  82.  
  83.   This BBS is run under BYE.
  84. -------------------
  85.  
  86. Wish list:
  87.  
  88.   - change the accessing of the users.bbs file from sequential buffered
  89.     to random buffered
  90.   - be able to enter a string of commands (at the command prompt) such
  91.     as -->r;23;r;45;r67+
  92.   - come up with a better scheme for handling the messages file
  93.     that will allow random access (instead of relative access)
  94.   - write a utility to compress the messages file to really delete
  95.     killed messages. Or fix the messages file to reuse the killed
  96.     message space (not an easy chore).
  97.   - add field to header.bbs file to hold number of active messages on
  98.     the message file
  99.   - add field to header.bbs file to hold highest message number on
  100.     message on message file.
  101.  
  102. -------------------
  103.  
  104. Changes:
  105.  
  106.     When you make changes to get this running on your system, attempt
  107. to add compiler directives (#ifdef) to indicate what type of modem (for
  108. example) you are using.  This makes it easier for the next guy to come
  109. along and get it working on his system if it is the same as yours.
  110.     If you do make changes that you would like to contribute (HINT!) to 
  111. the next version please leave a message for me at: 
  112.  
  113.         Marin RCPM  (415) 383-0473 
  114.             or
  115.         OXGATE #1   (408) 287-5901
  116.  
  117.     
  118.     Mike Kelly
  119.     San Francisco, Ca.
  120.  
  121.